package com.xcx.common.dto.req;

import com.xcx.common.dto.base.BaseReq;
import com.xcx.common.utils.StringUtils;
import lombok.Getter;
import lombok.Setter;

/**
 * 面部识别请求参数
 */
@Getter
@Setter
public class DetectFaceReq extends BaseReq {

    /**
     * app_id	是	int	正整数	1000001	应用标识（AppId）
     */
    private String appId;

    /**
     * time_stamp	是	int	正整数	1493468759	请求时间戳（秒级）
     */
    private String timeStamp;


    /**
     * sign	 是	string	非空且长度固定32字节	B250148B284956EC5218D4B0503E7F8A	签名信息，详见接口鉴权
     */
    private String sign;

    /**
     * image	是	string	原始图片的base64编码数据（原图大小上限1MB，支持JPG、PNG、BMP格式）	...	待识别图片
     */
    private String image;

    /**
     * mode	是	int	整数	0/1	检测模式，0-正常，1-大脸模式（默认1）
     */
    private String mode;


    @Override
    public String validate() {
        if (StringUtils.isBlank(this.appId)) {
            return "应用标识不能为空";
        }
        if (StringUtils.isBlank(this.timeStamp)) {
            return "请求时间戳不能为空";
        }
        if (StringUtils.isBlank(this.sign)) {
            return "签名信息不能为空";
        }
        if (StringUtils.isBlank(this.image)) {
            return "原始图片的base64编码数据不能为空";
        }
        return null;
    }

}
